// 文件名: src/api/modules/auth.ts
// 块功能: 认证 (Auth) 模块 API
// 描述: 包含管理员登录、获取当前管理员信息等接口。

import service from '../request'
import type { LoginFormData, LoginResponse, AdminUserInfo } from '../types/auth'

/**
 * @功能: 管理员登录
 * @param data 包含用户名和密码的对象
 */
export const loginApi = (data: LoginFormData): Promise<LoginResponse> => {
  const formData = new FormData()
  formData.append('username', data.username || '')
  formData.append('password', data.password || '')
  // 对于 Form Data 请求，需要手动设置 Content-Type
  return service.post('/api/admin/auth/login', formData, {
    headers: { 'Content-Type': 'multipart/form-data' },
  })
}

/**
 * @功能: 获取当前登录的管理员信息
 */
export const getAdminInfoApi = (): Promise<AdminUserInfo> => {
  return service.get('/api/admin/auth/me')
}
